package chapter07

import scala.collection.mutable

/**
 * Created with IntelliJ IDEA.
 * ClassName: Test10_Map
 * Package: chapter07
 * Description:
 * User: fzykd
 *
 * @Author: LQH
 *          Date: 2023-07-06
 *          Time: 15:02
 */

//可变map
object Test10_Map {
  def main(args: Array[String]): Unit = {
    //1.创建map
    val map1:mutable.Map[String,Int] =
      mutable.Map("a" -> 12,"b" -> 23,"hello" -> 4)

    println(map1)
    println(map1.getClass) //class scala.collection.mutable.HashMap
    //class scala.collection.immutable.Map$Map3 不可变数组就会输出$Map3

    //添加元素
    map1.put("c",6)
    //符号添加元素 双括号
    map1 += (("e",9))
    println(map1)

    //删除元素
    map1.remove("e")
    println(map1)
    //符号函数元素
    map1 -= "hello"
    println(map1) //删除对应的key值

    //修改元素
    map1.update("a",100)
    println(map1)
    map1.update("不存在",100)
    println(map1)//不存的元素就添加

    //合并 map
    val map2 = Map("pp" -> 333,"bb" -> 7)
    //符号 ++=
    map1 ++= map2
    println(map1)
    // map2不变
    //++ 本质是方法调用 主要是调用的对象是谁
    //不可变的 生成的也是不可变的 可变的 生成的也是可变的
    val map3 = map2 ++ map1
    println(map3)



  }
}
